Wajam: van start‑up tot massaal verspreide adware | WeLiveSecurity

2021-12-20 08:12:30 By : Ms. Lilly Hu

Hoe een in Montreal gemaakte "sociale zoekmachine"-applicatie erin is geslaagd om wijdverbreide adware te worden, terwijl het aan de gevolgen ontsnapt

Wajam Internet Technologies is een start-up opgericht in december 2008 door Martin-Luc Archambault (een beroemde ondernemer in Quebec) en gevestigd in Montreal, Canada. Het kernproduct van het bedrijf is een toepassing voor sociale zoekmachines (dwz het maakt het mogelijk om de inhoud te doorzoeken die door uw contacten op sociale netwerken wordt gedeeld). Afbeelding 1 illustreert een voorbeeld van wat Wajam weergeeft bij het uitvoeren van een Google-zoekopdracht.

Figuur 1. Wajam-zoekresultaten van een Google-zoekopdracht (officieel voorbeeld van Wajam)

De software zelf is gratis te installeren; het genereert echter inkomsten door de weergave van contextuele advertenties. Wat de distributie betreft, was er aanvankelijk tot 2014 een browserextensie beschikbaar via de officiële website van Wajam (zie afbeelding 2), maar deze wordt nu voornamelijk gedistribueerd met behulp van het Pay-Per-Install (PPI)-distributiemodel. Volgens het Office of the Privacy Commissioner (OPC) van Canada heeft Wajam tussen 2011 en 2016 meer dan 50 verschillende PPI-providers gebruikt. Dit model is verschillende keren bekritiseerd vanwege het gebruik van nep Adobe Flash Player, antivirus en vele andere populaire software-installatieprogramma's om de gebruiker te misleiden en voor de sterke aanwezigheid van adware en malware in de meegeleverde installatieprogramma's.

Figuur 2. Website wajam[.]com in april 2012 (met downloadlink)

De geschiedenis van Wajam als bedrijf is nogal curieus volgens het rapport van de OPC uit 2017 en enkele personderzoeken (hier en hier in het Frans):

Figuur 3. Klacht nr. 1 van gebruikers over Wajam

Figuur 4. Klacht #2 van gebruikers over Wajam

Figuur 5. Klacht van gebruiker #3 over Wajam

De tijdlijn in figuur 6 vat enkele opmerkelijke gebeurtenissen in de geschiedenis van het bedrijf samen.

Afbeelding 6. Geschiedenis van Wajam Internet Technologies Incorporated

Parallel aan de bedrijfsgeschiedenis toont figuur 7 de tijdlijn van de anti-detectie- en anti-analysefuncties die aan de software zijn toegevoegd.

Afbeelding 7. Tijdlijn van de anti-detectie- en anti-analysefuncties toegevoegd aan Wajam

In de loop der jaren zijn er meerdere versies van Wajam ontwikkeld. Omdat de ontwikkelaars interne namen en versienummers gebruikten om de verschillende varianten en builds te onderscheiden, was het mogelijk om de verzameling verzamelde monsters te classificeren. De volgende tabel geeft een overzicht van de geïdentificeerde versies; merk op dat de data zijn gebaseerd op de tijd dat de monsters in het wild werden waargenomen en het is mogelijk dat ze eerder beschikbaar waren.

Elke versie van Wajam injecteert dezelfde payload in het webverkeer van de gebruiker, dus het verschil zit hem in de techniek die wordt gebruikt om de onderschepping en de injectie te maken. De technieken die ze gebruikten, kwamen echter steeds meer overeen met technieken die doorgaans door malwareontwikkelaars worden gebruikt. Zodra Wajam op een machine is geïnstalleerd en het webverkeer klaar is om te worden onderschept, werkt de software als volgt:

Afbeelding 8. Fragment van de lijst met ondersteunde websites

Afbeelding 9. Fragment van het geïnjecteerde script

Wajam verzamelde geleidelijk meer en meer informatie over zijn gebruikers, hetzij tijdens de installatie of wanneer de software draait:

Afbeelding 10. HTTP-query's gemaakt door Wajam tijdens het installatieproces

Met uitzondering van de browserextensie werden alle versies gedistribueerd als NSIS-installatieprogramma's door Pay-Per-Install-providers. Ook laten de PDB-paden zien hoe de ontwikkelaars hun software in de loop der jaren geleidelijk verdoezelden. Je kunt zien dat de latere versies meestal veel langere PDB-paden hebben die alleen willekeurige tekens bevatten.

Van 2011 tot eind 2013 werd Wajam gedistribueerd als een browserextensie. In een webbrowserextensie beschrijft het manifestbestand de webpagina's die moeten worden geïnjecteerd en hoe de JavaScript-code in die pagina's wordt geïnjecteerd als ze door de gebruiker worden bezocht. Zoals je kunt zien in figuur 11, worden hier alle webpagina's gematcht, zodat de scripts mogelijk kunnen worden geïnjecteerd in elke webpagina die door de gebruiker wordt bezocht.

Afbeelding 11. Configuratiefragment uit bestand manifest.json

De oudere versies van de browserextensie bevatten sporen van een plug-in voor schermopname (zie afbeelding 12) in een DLL die bij de extensie wordt geleverd. De laatste gebruikt ofwel de Netscape Plugin API (voor Chrome en Firefox) of een Browser Helper Object (voor Internet Explorer).

Afbeelding 12. Fragment van assemblagecode in een plug-in van de Wajam-browserextensie

In dezelfde versies wordt JavaScript-code gebruikt om de bladwijzers van de browser naar de Wajam-servers te sturen. Of het nu gaat om screenshots of bladwijzers, beide kunnen gevoelige persoonlijke informatie over een gebruiker bevatten en men kan zich afvragen wat Wajam met dit soort informatie doet. Geen van beide functies is aanwezig in de huidige versie van de extensie.

Omdat hun software door verschillende beveiligingsproducten als adware werd gedetecteerd, probeerde Wajam eerst de detecties te laten verwijderen door de beveiligingsleveranciers rechtstreeks te vragen (zie afbeeldingen 13 en 14).

Afbeelding 13. Poging van Wajam om een ​​McAfee-detectie van de browserextensie te verwijderen

Afbeelding 14. Nog een poging van Wajam om de detectie van hun browserextensie te verwijderen

In 2014 zagen we een verandering in de strategie van Wajam. Hun software was niet langer beschikbaar als browserextensie; de downloadlinks werden verwijderd van hun officiële website (wajam[.]com) en een nieuwe versie voor Windows, met behulp van de Fiddler-webproxy, werd gedistribueerd door PPI-providers.

Onder de kenmerken van deze nieuwe versie zijn de meest opmerkelijke:

Op hetzelfde moment dat WJProxy werd waargenomen, werd een andere versie met DLL-injectiemogelijkheden in het wild gevonden. In plaats van een proxy van derden te gebruiken, injecteert het een DLL in webbrowsers om de functies die niet-gecodeerd verkeer manipuleren te haken. Figuur 15 toont de functionele architectuur van deze versie.

Figuur 15. Architectuur van Warhammer Wajam

Interessant is dat deze versie enkele versluieringstechnieken gebruikt, zoals string-encryptie (zie afbeeldingen 16 en 17).

Afbeelding 16. Decodering van NtLoadDriver-reeks (Hex-Rays-uitvoer)

Afbeelding 17. String-decoderingsroutine (Hex-Rays-uitvoer)

Ook zijn de bestanden die de lijst met ondersteunde websites bevatten en de adressen van de te hooken functies (zie afbeelding 18) beide versleuteld (AES-256 CFB). Je zou kunnen opmerken dat de namen van deze bestanden (respectievelijk waaaghs en snotlings ) een verwijzing kunnen zijn naar het Warhammer-fantasie-universum. Er zijn ook andere (sub)strings, zoals in de naam van de geïnjecteerde DLL, wajam_goblin.dll , en andere binnen de binaire bestanden, wat suggereert dat de auteurs van Wajam geïnteresseerd waren in fantasiespellen of fictie.

Afbeelding 18. Bestand met de hooks van de functies van de webbrowser

Het DLL-injectieproces zelf kan op verschillende manieren worden bereikt, afhankelijk van de parameter die aan de injector is gegeven. De volgende tabel somt de verschillende opties op.

Zodra de DLL is geïnjecteerd, controleert de injector of het beoogde proces een webbrowser is en als dat zo is, gebruikt hij MinHook en het gedecodeerde snotlings-bestand om de functies vast te haken die niet-gecodeerd webverkeer manipuleren, zoals Firefox's PR_Write , PR_Read , Win32 API's send , recv , enzovoorts.

Aangezien de hierboven beschreven technieken meestal worden gebruikt door kwaadaardige software, gebruikt Wajam verschillende technieken om zichzelf te beschermen tegen detectie door beveiligingsproducten:

Afbeelding 19. Antivirus Windows-registersleutels gecontroleerd door Wajam

Afbeelding 20. Lijst met processen op de witte lijst voor Wajam-minifilterstuurprogramma

Chrome en Firefox hebben onlangs code-injecties van derden in hun respectievelijke webbrowsers geblokkeerd, dus deze versie van Wajam zal niet meer werken als een slachtoffer de huidige versie van een van deze browsers gebruikt.

Om het hoofd te bieden aan nieuwe beveiligingsmechanismen, werd medio 2016 een andere versie van Wajam uitgebracht die aanzienlijke nieuwe functies toevoegde, waaronder een NetFilter-stuurprogramma om verkeer rechtstreeks in de kernelruimte te onderscheppen en te injecteren.

Afbeelding 21. Architectuur van Wajam NetFilter-versie

Een van de vele andere wijzigingen met deze versie is de beveiliging tegen detectie:

Afbeelding 22. Decodering van een Windows API-naam (Hex-Rays-uitvoer)

Afbeelding 23. String-decoderingsroutine (Hex-Rays-uitvoer)

Afbeelding 24. Digitaal certificaat van een Wajam-uitvoerbaar bestand gevonden op VirusTotal

Afbeelding 25. Digitaal certificaat van een ander Wajam-uitvoerbaar bestand gevonden op VirusTotal

Die domeinnamen zijn handelsmerken van Wajam volgens het Quebec Enterprise Register (zie figuur 26). Sommige domeinnamen (meer voorbeelden in de IoC-sectie) zijn ook gerelateerd aan straatnamen in Montreal (zoals "Adrien Provencher", "Bernard", "Mont-Royal", enz.).

Afbeelding 26. Quebec Enterprise Register met enkele Wajam-domeinnamen

Vanaf 2017 werd nieuwe door Wajam geschreven adware, SearchPage genaamd, gedetecteerd die gericht was op macOS-systemen. Uit analyse blijkt dat het enkele domeinnamen gebruikte die ook in de nieuwste Windows-versies werden gebruikt (zie figuur 24).

Afbeelding 27. Fragment van de Info.plist met de Wajam-geregistreerde domeinnaam

Het wordt gedistribueerd als een macOS-toepassingsbundel met de naam spiinstall.app , die een Safari-plug-in en een certificaat in de sleutelhanger installeert (de tijdelijke aanduiding voor het basiscertificaat op macOS). Deze plug-in injecteert verkeer op een vergelijkbare manier als de Windows-versies.

Een andere versie die medio 2018 werd gevonden, gebruikt mitmproxy (een webproxy geschreven in Python) in plaats van de Safari-extensie om webverkeer te onderscheppen. Afbeelding 28 laat zien hoe de proxy wordt gebruikt, evenals de aanwezigheid van de Wajam-geregistreerde URL die hard gecodeerd is in het script.

Afbeelding 28. Gebruik van mitmproxy om JavaScript te injecteren

Aangezien deze malware al is gedocumenteerd door MalwareBytes, zijn verdere details te vinden in hun analyse.

Uit dit onderzoek blijkt dat ondanks de eigendomsoverdracht aan een Hong Kong-bedrijf, Wajam nog steeds erg actief is en onder meerdere namen, zoals SearchAwesome, Social2Search, SearchPage, enz. We veronderstellen dat dit wordt gebruikt om hun sporen uit te wissen en hun aanwezigheid uit te breiden met de hulp van PPI-distributie.

Uit onze analyse blijkt dat de technieken die Wajam gebruikte om verkeer te injecteren, steeds slinkser en hardnekkiger werden naarmate nieuwere versies werden uitgebracht. Ze begonnen met een eenvoudige browserextensie (2011), schakelden eind 2013 over op een proxy-methode, en vanaf 2014 injecteerden ze direct code in de webbrowsers om netwerkcommunicatiefuncties vast te haken, en gebruiken nu een stuurprogramma om verkeer rechtstreeks in de kernel te onderscheppen. ruimte. Deze meerdere wijzigingen zijn grotendeels een reactie op verbeteringen in de beveiligingsbeschermingen die door de jaren heen in browsers of het besturingssysteem zijn ingebouwd.

Het gebruik van dit soort technieken impliceert dat er kansen zijn om gedetecteerd te worden door beveiligingsproducten, en dit is Wajam overkomen. Zelfs als de geschiedenis van het bedrijf laat zien dat ze eerst probeerden te vragen om verwijdering van detectie (2012-2013), veranderden ze snel hun strategie (2014) in plaats van de voorkeur te geven aan het gebruik van verduistering, codebescherming en anti-detectietechnieken die het ware gedrag van hun software.

De zaak Wajam herinnert ons eraan dat er nog steeds een grijs gebied is als we het hebben over adware en PUA's (potentieel ongewenste toepassingen). Zelfs als ze technieken gebruiken om hun gedrag voor gebruikers en beveiligingsproducten te verbergen, is het weergeven van advertenties nog steeds meer vervelend dan schadelijk voor de gebruiker. Men moet zich echter bewust zijn van het persistentieniveau dat door sommige van deze software wordt gebruikt.

adrienprovenchertechnology[.]com armandlamoureuxtechnology[.]com bernardtechnology[.]com carmenbienvenuetechnology[.]com cartiertechnology[.]com chabaneltechnology[.]com chaumonttechnology[.]com kolonialetechnology[.]com cormacktechnology[.]com customsearches[.]net despinstechnology[.]com hutchisontechnology[.]com imt-dashboard[.]tech jeanlesagetechnology[.]com kingwintechnology[.]com laubeyrietechnology[.]com lauriertechnology[.]com mansactechnology[.]com mounactechnology[.]com notificatie-resultaten [.]com notificaties-pagina[.]com notificaties-service[.]info notificaties-service[.]io papineautechnology[.]com premiumsearchhub[.]com premiumsearchresults[.]com premiumsearchtech[.]com preverttechnology[.]com search-awesome[.]net search-ology[.]com search-technology[.]net searchawesome-apps[.]com searchawesome[.]net searchawesome2[.]com searchawesome3[.]com searchandfind[.]com searchfeedtech[ .]com searchforall[.]net searchforfree[.]net searchnewsroom[.]com searchnotifications[.]com zee rc hpage-results[.]com searchpage-results[.]net searchpage[.]com searchpageresults[.]com searchsymphony[.]com searchtech[.]net securesearch[.]xyz seekoutresultz[.]com sirwilfridlauriertechnology[.]com social2search [.]com tazotechnology[.]com technologyadrienprovencher[.]com technologyairflow[.]com technologyarmandlamoureux[.]com technologybeaumont[.]com technologybernard[.]com technologycarmenbienvenue[.]com technologycartier[.]com technologychabanel[.]com technologychaumont [.]com technologycolonial[.]com technologycormack[.]com technologydollard[.]com technologyduluth[.]com technologyhutchison[.]com technologyjeanlesage[.]com technologykingwin[.]com technologylaubeyrie[.]com technologylaurier[.]com technologymansac [.]com technologymontroyal[.]com technologymounac[.]com technologyoutremont[.]com technologyprevert[.]com technologyrachel[.]com technologyruso[.]com technologiesaintdenis[.]com technologiesaintdominique[.]com technologiesaintjoseph[.]com technologieëneen intlaurent[.]com te chnologiesainturbain[.]com technologysearchawesome[.]com technologiesirwilfridlaurier[.]com technologiesstdenis[.]com technologiesstlaurent[.]com technologiestuart[.]com technologytazo[.]com technologytravassac[.]com technologytrudeau[.]com technologyvanhorne[.]com technologywiseman[.]com technologyyvonlheureux[.]com travassactechnology[.]com trudeautechnology[.]com wajam-download[.]com yvonlheureuxtechnology[.]com